Method and system for managing messages

ABSTRACT

A method and system for management of messages. Upon receipt of a message, or at another time, the machine may automatically extract a parameter value from the message and create a new folder for storing messages that match that parameter value. The machine may thus store the message, and other messages that match the parameter value, in the folder. Alternatively, the machine may present the message to a user and allow a user to select one or more values from the message, to be used as a filter for a folder. The machine may then store the message, and other messages that match the filter, in the folder.

BACKGROUND

1. Field of the Invention

The present invention relates to communications services and, moreparticularly, to a method and system for managing messages in a wirelesssubscriber station or other communications terminal.

2. Description of Related Art

The recent explosive growth of the telecommunications industry hasushered in a new era of convenience and interaction. Through the adventand acceptance of wireless communications (such as cellular telephonyfor instance) and Internet communications, it is now commonplace for aperson to receive messages at virtually any location and any time ofday. As a result, however, users may tend to be overwhelmed withincoming and outgoing messages of all sorts, such as short messageservice (SMS) messages, e-mail messages, voice mail messages, and thelike. It would therefore be advantageous to provide a method and systemfor managing messages.

SUMMARY

The present invention provides a method and system for organizingmessages that arrive at a communication terminal or other machine, suchas wireless subscriber station for instance. According to one aspect,upon receipt of a message, the communication terminal may automaticallydetermine the value of a parameter in the message, and then responsivelycreate a new folder to store messages having that parameter value andstore the message in the new folder. Thereafter, upon receipt of a newmessage that matches the parameter value, the terminal may store the newmessage in the new folder as well. Further, the terminal may label thenew folder with a label that corresponds to the parameter value and mayuse the label to present the folder to a user.

According to another aspect, upon receipt of a message, thecommunication terminal may present a received-message to a user and mayprompt the user to select an expression from the received-message, to beused to identify a new folder. For instance, the subscriber station maypresent the body (content) of a text message to the user and allow theuser to select an expression from the body of the message. Thesubscriber station may then create a new folder to store messages thatmatch the expression selected by the user and may store the message andother matching messages in the folder.

The foregoing and other advantages and features of an exemplaryembodiment will become apparent to those of ordinary skill in the art byreading the following detailed description with reference whereappropriate to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary embodiments of the present invention are described herein withreference to the drawings, in which:

FIG. 1 is a simplified block diagram of an exemplary messaging system inwhich a message may be sent to a machine in accordance with an exemplaryembodiment;

FIG. 2 is a simplified block diagram of a machine suitable for managingmessages in accordance with an exemplary embodiment;

FIG. 3 is a flow chart depicting functions that may be performed by themachine of FIG. 2 in accordance with an exemplary embodiment; and

FIG. 4 is a process flow depicting a sequence of screen displays forestablishing an auto-file rule by reference to message content inaccordance with an exemplary embodiment.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

1. Exemplary Architecture

An exemplary embodiment of the present invention can be arranged tofacilitate organization of various types of messages. Examples of suchmessages include text messages, short message service (SMS) messages,e-mail messages, voice mail messages, and video messages, whetherunicast, multicast or provided to one or more messaging entities in someother fashion. A system for sending and receiving such message may becompliant with industry standards and/or may be proprietary. Further,the content of the messages may take various forms. For example,messages may be commercially oriented, such as advertisements or couponsfor instance, or messages may be personal such as friendly greetings forinstance.

The manner of sending and receiving messages is not necessarily criticaland may vary from message to message and from machine to machine. Forinstance, while this description will assume generally that a message issent from a remote location and received into a communication terminal,a message may be equivalently received in other ways, such as throughentry by a user of the terminal, whether as a draft message, outgoingmessage, incoming message (e.g., memo or note) and/or sent message.

Referring to the drawings, FIG. 1 depicts an exemplary messaging system10 in which messages can be provided to a communication terminal.Exemplary system 10 includes a message center 12, a switch/router 14 anda communication terminal 16. These components can take a variety offorms and may be positioned in a variety of locations. By way ofexample, in a wireless telecommunications network (such as a cellularradio-frequency telecommunications network for instance), message center12 might be a short message service center, switch/router 14 may be amobile switching center, and communication terminal 16 may be a mobilestation such as a cellular telephone, personal digital assistant, pager,notebook computer or other such entity. As another example, messagecenter 12 might be an e-mail server, switch/router 14 might be a networkrouter, and communication terminal 16 might be a computer running ane-mail client application.

Of course, an exemplary messaging system may take other forms as well.For instance, the messaging system may more simply comprise a sourceentity and a recipient entity. The source entity may be the originatorof a message or may be an intermediary element arranged to receive andforward a message. The recipient entity may be the ultimate destinationof the message or may also be an intermediary arranged to receive andforward a message. On the other hand, the messaging system may be farmore complex, involving a number of entities now known or laterdeveloped.

For purposes of example, but without limitation, this description willassume that the messaging system takes the form shown in FIG. 1 and thatcommunication terminal 16 is a mobile station or other such machinearranged to receive and manage messages. FIG. 2 is a simplified blockdiagram depicting an exemplary machine 20 suitable for this purpose.

As show in FIG. 2, exemplary machine 20 may include a processor 22, adata storage means 24, a user interface means 26, and a communicationsmeans 28, each of which may be coupled together by a system bus 30.Processor 22 may be a microprocessor suitable for receiving inputsignals, executing machine language instructions, and providing outputsignals. Data storage means 24 may comprise one or more volatile and/ornon-volatile storage mechanisms, such as random-access-memory (RAM),flash memory, and/or an optical or magnetic disk drive for instance.User interface means 26 may include presentation means such as a displayscreen and a loudspeaker, headphone jack and/or the equivalent, andinput means such as a touch sensitive display, an alphanumeric keypad,scroll keys, a rotary dial, and/or a microphone for instance.Communication means 28 may include an antenna for receivingradio-frequency communications and a receiver for obtainingcommunications from the antenna.

Machine 20 may thus include hardware, firmware and/or software arrangedto carry out functions described herein. In particular, in the exemplaryembodiment, machine 20 may be programmed with a messaging clientapplication suitable for receiving, storing and presenting messages.Further, machine 20 may be programmed with a message management systemsuitable for organizing messages in accordance with the exemplaryembodiment. The message management system may comprise machine languageinstructions stored in the data storage means and executable by theprocessor to carry out functions described below.

2. Exemplary Operation

Referring now to FIG. 3, there is shown a flow chart depicting functionsthat may be performed by machine 20 in accordance with an exemplaryembodiment of the invention. As shown in FIG. 3 at block 30, the machinemay receive a message. At block 32, the machine may then use the messageto derive a message-filter expression based at least in part on themessage. At block 34, the machine may establish an association betweenan existing or newly created folder and the message-filter expression,and, at block 36, the machine may store the message in that folder. Atblock 38, the machine may then receive a new message, and, at block 40,the machine may determine whether the new message satisfies themessage-filter expression. In turn, at block 42, in response to adetermination that the new message satisfies the message-filterexpression, the machine may store the new message in the folder as well.

a. Receiving a Message

As indicated above, a message received by the machine may take any of avariety of forms. In an exemplary embodiment, the message may have astructure that the machine is programmed to handle. For instance, themessage may be compliant with an industry standard such as theTelecommunications Industry Association (TIA)/Electronics IndustryAssociation (EIA) Interim Standard IS-637A (“Short Message Service forSpread Spectrum Systems”) or with any other public or proprietaryprotocol, and the machine may be programmed with logic to be able toreceive and maintain the message.

According to the protocol, for instance, the message may define one ormore parameters, such as “to”, “from”, “subject” and “body” fields.Descriptive information about the message (such the “to”, “from” and“subject” fields) might be set forth in a header, and the content of themessage may then be set forth in the body or payload section of themessage. In this regard, exemplary descriptive information mightinclude, for instance, a return ID, a message ID and/or a contentdescriptor. Examples of a return ID may be a return address, a callbacknumber, a sender name, sender network address, or any other indicia ofsender or reply address for instance). Examples of a message ID may be amessage serial number, message type (such as coupon, custom ring tone,etc.) or some other identifier of the message. And examples of a contentdescriptor may be a description of some aspect of the message content,such as an author, artist, a date of creation, message length or subjectmatter, for instance.

In the exemplary embodiment, the machine may be programmed with logic tobe able to locate these particular parameters, if applicable, in a givenmessage. Thus, when the machine receives a message, the machine mayparse the message into its respective parameters and/or otherwise beable to reference one or more parameters of the message.

b. Using the Message to Establish a Message-Filter Expression

According to the exemplary embodiment, a message-filter expression maybe derived from the received message. In this regard, the message-filterexpression could be a single value extracted from within the header orbody of the message. Alternatively, the message-filter expression couldbe more complex, such as a combination of values from the message,possibly coupled together with Boolean operators or other functions(such as time of day, location, user ID, etc.).

i. Using a Predetermined Parameter as the Message-Filter Expression

In one exemplary arrangement, the machine may be programmed toautomatically determine (e.g., read) the value of a predeterminedparameter (or, equivalently, parameters or one or more parts ofparameters ) of the message and to set the message-filter expressionequal to that value. The predetermined parameter and its associatedvalue can take various forms, depending on a variety of factors. In thisregard, the predetermined parameter could be a particular field orsegment of the message header or message body, and the machine may beprogrammed to read a value from that particular field or segment.

Examples of parameter values might then include, for instance, a word,multiple words, an image (determined by file name or pattern or imagerecognition techniques, for instance), or a sound (e.g., determined bysound or voice recognition techniques, for instance). Specific examplescould be a return ID, message ID, or content descriptor, as noted above.Further, the machine may be programmed to truncate any parameter valuethat is longer than a predetermined maximum length, such as 12characters (if a text message), for instance.

The identity of the predetermined parameter in a given message couldvary depending on the type of the message. If the message is an industrystandard message, such as an SMS message or SMTP message, for example,the predetermined parameter may be a field having a position and lengthdefined by the industry standard. Examples include sender name, sendernetwork address, date, and so forth.

Alternatively, the message may be of a proprietary format understood bythe message sender and the machine that receives the message. In thatcase, the proprietary protocol may define a particular field or value inthe message, which the machine may be programmed to treat as thepredetermined parameter. As an example, one type of message may be adiscount coupon or advertisement message. Such a message might include agoods/services parameter that may identify the type of product orservice with which the coupon or advertisement is associated, and themachine may be programmed to treat the goods/services code as thepredetermined parameter. As another example, another type of message maycarry a custom ring tone or other music or video selection. In thatcase, the message might include a ring-type or artist parameter that mayidentify the type of ring tone or the artist of the music or videoselection.

Each message may have a “type” parameter that identifies the message asbeing of a particular type (e.g., complying with a particular industrystandard or proprietary protocol). The machine may be programmed toidentify a type of the message, and to then identify the predeterminedparameter based on that message type. In this regard, for instance, thedata storage medium of the machine may include a type-parameter tablethat correlates particular message types with particular predeterminedparameters. For example, the type-parameter table might include thefollowing correlations: (i) the predetermined parameter for an SMSmessage is the CALLBACK NUMBER field, (ii) the predetermined parameterfor an SMTP message is the FROM field, and (iii) the predeterminedparameter for coupon or advertisement message is the PRODUCT CODE field.Of course, other examples (including but not limited to variations onthese examples) are possible as well.

Further, one or more of the predetermined parameters can be set in themachine in any of a variety of manners. For instance, one or moreparameters can be programmed into the machine in advance of the receiptof any message (e.g., upon manufacture of the machine). Alternatively,one or more parameters (and/or various program instructions describedherein) can be sent or otherwise input to the machine and stored in thedata storage medium. With this arrangement, the functionality of thesystem could be altered by providing new parameters and/or instructionsto the machine at any time and/or in response to any stimulus.

Thus, the machine may determine the type parameter of a given messageand may then consult the type-parameter table to determine the identityof the predetermined parameter of the message. The machine may thendetermine the value of that predetermined parameter of the message andset the message-filter expression equal to the value.

For certain predetermined parameters, the machine may further beprogrammed to determine the value of the parameter, to translate thevalue to another value, and to set the message-filter expression equalto that other value. For example, according to the industry standard SMSprotocol, an SMS message may include a callback number, which may be aconventional directory number (e.g., telephone number). Many SMS-capableentities such as wireless subscriber stations may also include or havereference to a stored directory listing names and correspondingdirectory numbers. Provided with such a directory, upon receipt of anSMS message bearing a callback number, the machine may search thedirectory for an entry bearing the callback number. If the machine findssuch an entry, the machine may then retrieve the corresponding name fromthe entry and may set the message-filter expression equal to that name,rather than the callback number.

For example, if an SMS arrives at a mobile station and bears callbacknumber 555-1235-4567, the mobile station may automatically reference adirectory and determine that the callback number corresponds to alisting for John Doe. Consequently, the mobile station may automaticallyset the message-filter expression equal to “John Doe.” Alternatively, ifthe mobile station does not find an entry for the number 555-123-4567 inthe directory, the mobile station might default to setting themessage-filter expression to be “555-123-4567” for instance.

Further, the machine may be programmed to prompt the user for approvalof the translation, before effecting the translation. For instance, inthe example above, before translating the callback number into the name“John Doe,” the machine may be programmed to present a prompt to theuser, via the display screen, asking whether the user wishes to set thefilter to “John Doe” as indicated in the directory. Upon receipt ofapproval from the user, such as through actuation of a designated keyfor instance, the machine may then proceed to set the message-filterexpression to be “John Doe.”

The machine can be programmed to set the message-filter expression to besimply the value of the predetermined parameter (or a translation ofthat value). For example, in the example immediately above, the machinemight be programmed to set the message-filter expression to be “JohnDoe.” Alternatively, the machine might be programmed to set themessage-filter expression to be an expression that indicates a parameterand a value or expression that the parameter must satisfy. For example,indicate that the sender name should be John Doe, the expression may beset to be “SENDER(John Doe).” Other examples and arrangements of themessage-filter expression are possible as well.

ii. Establishing the Message-Filter Expression with User Interaction.

In another exemplary arrangement, the machine may be programmed topresent a received-message to a user and to allow the user to select oneor more values from the message, to be used as the message-filterexpression. For instance, if the message is a text message, the machinemay display the text message to the user on a display screen and mayprompt the user to select at least one value from the message. Further,the machine may present the user with options to select Booleanexpressions or other functions to be combined together with the one ormore selected values so as to build the message-filter expression.

Any of a variety of selection techniques may be used. For example, themachine may be programmed to highlight the first word or phrase of themessage and to allow the user to scroll through the message, word byword, and to select any given highlighted word(s). To do so, the machinemay be programmed to respond to user actuation of a scroll key, rotarydial, touch sensitive display, softkey, voice response unit or otherselection key, by moving the highlighting to the next word of themessage, and the machine may be programmed to respond to user actuationof an “OK” softkey or other suitable selection of the word by recordingthe highlighted word to memory as at least part of the message-filterexpression.

As in the process described above, the machine may record simply thevalue of the highlighted word. Alternatively, the machine may record anindication of a parameter and an associated value. For instance, if theuser has selected the word “Chicago” from the body of a text message,the machine might store in memory the expression “BODY(Chicago)” as atleast part of the message-filter expression.

Once the user has selected a word from the message, if the user selectsanother word from the message, the machine may be programmed to connectthe additional word to the first word with a Boolean “AND” and to savethe combination in memory as at least part of the message-filterexpression. For example, if a user first selects the word “Chicago” froma message and then selects the word “weather” from the body of themessage, the machine might be programmed to store “BODY(Chicago) ANDBODY(weather)” or the equivalent in memory as the message-filterexpression. As another example, if the user first selects the word“Chicago” from the subject line of the message and then selects the word“weather” from the body of the message, the machine might be programmedto store “SUBJECT(Chicago) AND BODY(weather)” in memory as themessage-filter expression.

Alternatively or additionally, the machine may be programmed to presentthe user with a list of Boolean expressions such as AND and OR, whichthe user may select so as to tie together words that the user selectsfrom the message, so as to build a more complex message-filterexpression. Further, the machine may be programmed with an “edit” mode,in which a user may edit a given message-filter expression if desired.

The machine may present both header and content information for a givenmessage or may present only header or content information. From theheader information, a user might select a sender address, a callbacknumber, or the like, to be used as at least part of the message-filterexpression. From the content information, a user might select stillother words for use in the expression.

Further, just as the machine can be programmed to translate the value ofa predetermined parameter to another value as described above, themachine can be programmed to translate some or all parts of amessage-filter expression selected by a user into other values. Forinstance, if a user selects a callback number as at least part of amessage-filter expression, the machine may automatically prompt the userto approve translation of the callback number into a corresponding namelisted in a directory.

Still further, the processes of establishing a message-filter expressionby reference to a predetermined parameter and establishing amessage-filter expression with user interaction could be combined. Forexample, the machine may automatically create a message-filterexpression upon receipt and/or presentation of a message, and themachine may present the message to a user to allow the user to edit themessage-filter expression by selecting values from message.

c. Associating the Message-Filter Expression with a Folder.

Having obtained the message-filter expression, the machine may thenassociate the message-filter expression with a message folder in thedata storage means 24, thereby establishing an auto-file rule indicatingthat a message that matches the message-filter expression value shouldbe stored in the folder.

Generally speaking, a message folder may be any actual or virtualstorage location in which information such as messages may be held.Thus, for instance, in a conventional file structure, a message foldermay be a directory in which messages may be stored as individual files.

In practice, each message may in fact be stored at a respective addressin the data storage means (e.g., in flash memory), and the messagefolder may be located at a particular address that serves as thebeginning of a linked list or other data structure comprised of a numberof pointers to the addresses of the messages stored “in” the folder. Thetop component of the linked list may include folder-identificationinformation and may then point to the address of a first message storedin the folder, and so forth. The machine may thus create a new folder byrecording the beginning of such a linked list in the data storagemedium. Those skilled in the art will appreciate that other suitablemechanisms to establish or maintain folders may exist or be developed aswell and may vary depending on the architecture of the particularmachine.

The machine may employ any of a variety of means to associate amessage-filter expression with a message folder. As one example, themachine may maintain in its data storage medium a folder-table thatspecifies for each folder a set of folder-identification informationsuch as (i) the address of the folder, (ii) a message-filter expressionassociated with the folder, and (iii) a label of the folder. Thus, toassociate a message-filter expression with a folder, the machine mayselect an existing folder or may create a new folder and may then storethe message-filter expression in record for the folder in thefolder-table. The message-filter expression for a given folder may bestored in the table as a character string or in any other suitable form.

As another example, the message-filter expression for a given foldercould be stored as part of the folder-identification information in thetop of the linked list that defines the folder. A folder-table couldthen be established that merely refers to the addresses of folders, sothat the machine could reference a message-filter expression byreferring to the address of a given folder as indicated in thefolder-table. Still other examples of associating a message-filterexpression with a message folder are possible as well.

In the exemplary embodiment, the machine may also be programmed tocreate a label for each folder. The label may be used to facilitatedisplay of a list of folders, so that a user can later select a foldername to retrieve messages in the folder or so that a user can take someother action with respect to a particular folder.

In the exemplary embodiment, the label may be identical to themessage-filter expression or may alternatively be a first word or othertruncated portion of the message-filter expression. Alternatively oradditionally, the machine may prompt a user to specify or edit a labelfor a given folder and may then receive a label designated by the user.As indicated above, the machine may store the folder label in the datastorage medium as part of the folder-identification information.Alternatively, the machine may maintain the folder label elsewhere.

Note that, as an exemplary alternative to the process described above,rather than translating a parameter value, the machine may leave a givenparameter value unchanged and may instead simply assign a translation ofthe value to the label. For example, if a callback number value is555-123-4567, the machine may set the message-filter expression to be“CALLBACK(5551234567),” and, with reference to a local directory, themachine may set the label of the associated folder to be “John Doe.”That way, the machine may list the folder as “John Doe” for convenientreference by a user.

d. Example Process Flow

Referring now to FIG. 4, there is shown an example series of screendisplays that the machine may be programmed to present to a user so asto facilitate creation of a new folder with a message-filter expressionbased on a received-message. FIG. 4 assumes that the machine hasreceived an SMS message and that the machine is displaying the messageon a display screen that is part of user interface means 26, for viewingby a user. By way of example, the user may have selected the messagefrom a list of messages in an in-box, or the machine may haveautomatically displayed the message. Other examples are possible aswell.

As shown in FIG. 4, at block 50, the message is presented on the displayscreen. When the message is displayed, the machine may conventionallyalso present the user with an “OK” softkey or other such key selectableby the user to indicate user acceptance. The machine may be programmedto respond to actuation of the OK key by displaying (i) in a top portionof the screen a scrollable block of text including the sender name(e.g., “John Smith”) and the text of the message and (ii) in a bottomportion of the screen a number of choices selectable by the user byconventional means, as shown at block 52. One such choice may a “SAVE”choice. In response to user selection of that choice, for instance, themachine may then prompt the user to select a folder under which the userwishes to store the message, as shown at block 54.

At that screen, the user may select “Saved/Draft” to indicate a desireto store the message in a folder under the Saved/Draft category. Inturn, at block 56, the machine may prompt the user to confirm the user'sdesire to store the message under “Saved/Draft,” and the user may select“OK.”

Alternatively, from the screen shown at block 54, the user may select“New Folder” to indicate a desire to store the message in a new folder.In response, at block 58, the machine may present the user with a numberof choices for auto-filing of the message. One such choice may be“Keyword,” to facilitate creation of a new folder based on a keywordselected from the message itself.

At block 60, in response to user selection of the “Keyword” choice, themachine may scrollably display the text of the message in the topportion of the screen and may provide a “Select” choice in the bottomsection of the screen. Using scroll keys, a dial, or another suitableactuator, the user may then scroll through message, directing themachine to highlight each consecutive word of the message. Thus, atblock 60, the machine may initially highlight the first word of themessage (“Our”). In response to user actuation of a right dial key, themachine may then move to highlight the next word of the message(“analysis”), as shown at block 62.

In response to user actuation of the “Select” choice-item, the machinemay then automatically establish “select” (or “BODY(Select)”, forinstance) as a message-filter expression and associate thatmessage-filter expression with a folder in the data storage means. Giventhat the value of the message-filter expression is “analysis” in thisinstance, the machine might then programmatically assign the label“analysis” to the folder. At block 64, the machine may then display thefolder name “analysis” in the top portion of the screen and allow theuser to confirm the name by selecting the choice “Save Name” from a listof choices in the bottom portion of the screen. At block 66, the usermay then direct the machine to proceed to the next step of the process.

Beginning at block 68, the user may then associate certain actions orabsence thereof with the folder just created. For instance, at block 68,the machine may present the user with a choice for an alert to bepresented when a new message arrives that matches the message-filterexpression of the folder. The machine may allow the user to select “NoRinger”, “Vibrate” or “Beep” as shown, or the machine may allow the userto select any of a variety of custom ring tones and/or other sorts ofalerts for the folder. At block 70, the machine may ask the user tospecify whether the machine should provide a visual alert upon receiptof a new message that matches the message-filter expression of thefolder. Further, at block 72, the machine may ask the user to specifywhether the machine should pop-up any incoming message that matches themessage-filter expression of the folder. Other options and variations onthese options are possible as well.

At block 74, the machine may then briefly present the user with aconfirmation that the new folder has been created. In this examplearrangement, at block 76, the machine may then return to present a listof message available folders.

e. Handling new messages

In the exemplary embodiment, once the machine has associated amessage-filter expression with a message folder, if the machine receivesa new message, the machine may responsively determine whether the newmessage satisfies the message-filter expression. More particularly, whenthe machine receives a new message, the machine may determine whetherthe message satisfies a message-filter expression associated with any ofthe existing message folders.

The machine may perform this function in various manners. For instance,if the machine maintains a folder-table such as that described above (orthe like), the machine may query the table to determine whether the newmessage matches any of the message-filter expressions listed in thetable. In the exemplary embodiment, the machine may look for the firstmatch of a message-filter expression and responsively conclude that thenew message belongs in folder with which the message-filter expressionis associated.

The process of determining whether a given message satisfies a givenmessage-filter expression may vary depending on the form of themessage-filter expression. For example, if a message-filter expressionis simply the value of a parameter (such as “weather”) for instance, themachine may be programmed to extract the value of a predeterminedparameter from the message (and to possibly translate the parameter asdescribed above). The machine may then compare the extracted value withthe value of the message-filter expression. If the values match, thenthe machine may conclude that the message satisfies the message-filterexpression. If not, the machine may proceed to determine if the messagematches another message-filter expression, if any.

As another example, if the message-filter expression is more complex,such as an indication of a particular message and a value or expressionfor that field, then the machine may determine whether the new messagesatisfies that more complex message-filter expression. For example, ifthe message-filter expression is “SUBJECT(Chicago) AND BODY(weather),”the machine may responsively determine if the subject field of the newmessage contains the word “Chicago” and the body field of the newmessage contains the word “weather.” If both of these conditions aremet, then the machine may conclude that the message matches themessage-filter expression. If not, the machine may proceed to determineif the message matches another message-filter expression, if any. Stillother examples may exist as well.

If the machine finds that the message satisfies a existingmessage-filter expression, the machine may then automatically store themessage in the folder with which that message-filter expression isassociated. Alternatively, if the machine does not find that the messagesatisfies the message-filter expression of any existing folder, themachine may proceed to create a new folder for the message, through aprocess such as those described above for instance.

For example, assume that the machine has created a folder with amessage-filter expression “SENDER(John Doe)”. Assume next that themachine receives a new SMS message with the callback number555-123-4567. In view of the fact that the message is an SMS message,the machine may be programmed to read the callback number value from thecallback number parameter of the message. The machine may thenprogrammatically consult a local directory and determine that thecallback number corresponds to the sender value “John Doe.” In turn, themachine may search through the message-filter expressions of anyexisting folders and may determine that the value John Doe matches theexpression “SENDER(John Doe).” Consequently, the machine mayautomatically store the message in that folder.

As another example, assume that the machine has created a folder withthe message-filter expression “ARTIST(Beatles)”. Assume next that themachine receives a proprietary-format message carrying an MP3 song as anattachment (or, for that matter, a custom ring tone to the tune of asong), and that an “Artist” parameter of the message indicates that thesong is a Beatles song. The machine may be programmed to detect the typeof message and may thus responsively be able to parse the message so asto reference its various parameters, including the “Artist” parameter.The machine may then programmatically search the message-filterexpressions of any existing folders and may thereby determine that themessage matches theexpression “ARTIST(Beatles).” Therefore, the machinemay automatically store the message in that folder.

3. Conclusion

Exemplary embodiments of the present invention have been describedabove. Those skilled in the art will understand, however, that changesand modifications may be made to these embodiments without departingfrom the true scope and spirit of the present invention, which isdefined by the claims.

I claim:
 1. A method for managing messages, the method comprising:receiving a message into a machine; and executing machine languageinstructions upon receipt of the message, to perform a set of functionsincluding (i) automatically determining a value of a predeterminedparameter of the message, (ii) automatically creating a folder forholding messages that match the value, and (iii) automatically storingthe message in the folder.
 2. The method of claim 1, further comprising:after creating the folder, receiving a new message; and executingmachine language instructions to determine if the new message matchesthe value and, if so, to store the new message in the folder.
 3. Themethod of claim 2, wherein the message defines a message type, andwherein determining a value of a predetermined parameter comprises:using the message type as a basis to identify the predeterminedparameter; and thereafter determining from the message the value of thepredetermined parameter.
 4. The method of claim 2, wherein the newmessage defines a new value, and wherein executing machine languageinstructions to determine if the new message matches the value comprisesexecuting machine language instructions to determine if the new value isthe same as the value.
 5. The method of claim 2, wherein the set offunctions further includes: prompting a user to authorize creation ofthe folder and receiving user authorization before creating the folder.6. The method of claim 2, wherein the parameter value comprises a valueselected from the group consisting of (i) a word, (ii) a plurality ofwords, (iii) an image, and (iv) a sound.
 7. The method of claim 2,wherein the parameter value comprises a value selected from the groupconsisting of (i) a return ID, (ii) a message ID, and (iii) a contentdescriptor.
 8. A method for managing messages, the method comprising:receiving a message into a machine: executing machine languageinstructions to cause the machine to present the message to a user andto prompt the user to select one or more parameter values from themessage; thereafter receiving user input provided in response to theprompt, the user input indicating a selection of at least one parametervalue from the message; executing machine language instructions, inresponse to the user input, to create a folder for holding messages thatmatch the at least one parameter value; executing machine languageinstructions to store the message in the folder; thereafter receiving anew message; and executing machine language instructions to determine ifthe new message matches the at least one parameter value and, if so, tostore the new message in the folder, wherein the message defines amessage body containing words, wherein executing machine languageinstructions to cause the machine to present the message to a usercomprises executing machine language instructions to cause the machineto present the words of the message body to the user, wherein executingmachine language instructions to cause the machine to prompt the userfor the user input comprises executing machine language instructions tocause the machine to highlight at least one word of the message body,and wherein the method further comprises providing the user with aselection key that is selectable by the user to establish that the atleast one word is the selection.
 9. The method of claim 8, wherein theat least one parameter value comprises a value selected from the groupconsisting of (i) a word, (ii) a plurality of words, (iii) an image, and(iv) a sound.
 10. The method of claim 8, wherein the at least oneparameter value comprises a value selected from the group consisting of(i) a return ID, (ii) a message ID, and (iii) a content descriptor. 11.The method of claim 8, wherein executing machine language instructionsto create a folder for holding messages that match the at least oneparameter value comprises executing machine language instructions toperform functions comprising: creating the folder; creating an auto-filerule for the folder, indicating that a message that matches the at leastone parameter value should be stored in the folder; and labeling thefolder with a label associated with the at least one parameter value,whereby the label may be presented to a user to facilitate userselection of the folder.
 12. The method of claim 11, wherein creating anauto-file rule comprises: translating the at least one parameter valuefrom a first value to a second value, and establishing for the folder amessage-filter expression comprising the second value.
 13. The method ofclaim 12, wherein the first value comprises a callback number, thesecond value comprises a name, and translating the at least oneparameter value comprises determining by reference to a directory thatthe name corresponds to the callback number.
 14. The method of claim 11,wherein the at least one parameter value comprises a callback number,and wherein labeling the folder with a label associated with the atleast one parameter value comprises: finding a directory listing thatcorrelates the callback number with a name; and labeling the folder withthe name.
 15. An automatic message-organization system comprising, incombination: a processor; a data storage medium; an interface forreceiving messages; and a set of machine language instructions stored inthe data storage medium and executable by the processor, in response toreceipt of a message, (i) to automatically select at least one parametervalue from the message, (ii) to responsively generate in the datastorage medium a folder for holding messages that match the at least oneparameter value, and (iii) to automatically store the message in thefolder.
 16. The automatic message-organization system of claim 15,wherein the message defines a message type, and wherein the machinelanguage instructions are executable by the processor (i) to use themessage type as a basis to identify a predetermined parameter of themessage and (ii) to select a value of the predetermined parameter as theat least one parameter value.
 17. The automatic message-organizationsystem of claim 15, wherein the machine language instructions areexecutable by the processor to present the message to a user and toprompt the user to select the at least one parameter value from valuesdefined by the message.
 18. The automatic message-organization system ofclaim 15, wherein the message defines a message body containing words,wherein the machine language instructions are executable by theprocessor to present the words of the message to the user and to receivefrom the user a selection signal indicating as the at least oneparameter value at least one word of the message.
 19. The automaticmessage-organization system of claim 15, wherein the at least oneparameter value comprises a value selected from the group consisting of(i) a word, (ii) a plurality of words, (iii) an image, and (iv) a sound.20. The automatic message-organization system of claim 15, wherein theat least one parameter value comprises a value selected from the groupconsisting of (i) a return ID, (ii) a message ID, and (iii) a contentdescriptor.
 21. The automatic message-organization system of claim 15,wherein the at least one parameter value comprises a callback number,and wherein the machine language instructions are executable by theprocessor (i) to find a directory listing that correlates the callbacknumber with a name and (ii) to label the folder with the name, wherebythe label may be presented to a user to facilitate user selection of thefolder.
 22. The automatic message-organization system of claim 15,wherein, in response to receipt of a new message after the folder hasbeen created, the machine language instructions are executable by theprocessor (i) to determine whether the new message matches the at leastone parameter value and, if so, (ii) to store the new message in thefolder.
 23. The automatic message-organization system of claim 15,embodied in a mobile station.